วิธีการสร้าง RDS และเชื่อมต่อจาก EC2 บน AWS
มีบทความ Update สำหรับเวอร์ชันใหม่ที่รองรับ Amazon Linux 2023 โปรดดูบทความ Update ใหม่ล่าสุดที่ลิงก์นี้
ครั้งนี้ ผมจะมาแนะนำวิธีการสร้าง RDS และเชื่อมต่อจาก EC2 ต่อจากบทความ วิธีติดตั้ง Amazon Linux บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTy
สิ่งที่ต้องมี
ต้องทำการสร้าง EC2 Instance ก่อน จึงจะสามารถเริ่มทำขั้นตอนการสร้าง RDS และเชื่อมต่อจาก EC2 ได้ สามารถดูวิธีการติดตั้ง EC2 Instance ได้ที่ลิงก์ด้านล่างนี้เลย
- วิธีติดตั้ง Amazon Linux บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTy
เมื่อติดตั้ง EC2 Instance เสร็จแล้วจะได้หน้าตาแบบนี้ ซึ่ง EC2 Instance นี้จะใช้เป็นชื่อ
tinnakorn-rds-test-ec2
Amazon RDS คืออะไร
Amazon Relational Database Service (Amazon RDS) เป็นบริการที่ได้รับการจัดการที่ช่วยให้ผู้ใช้สามารถตั้งค่าใช้งาน และปรับขนาดฐานข้อมูลเชิงสัมพันธ์ในระบบคลาวด์ได้อย่างง่ายดาย บริการนี้จะมอบความจุที่คุ้มค่าและปรับขนาดได้ พร้อมกับจัดการงานการดูแลระบบฐานข้อมูลที่ใช้เวลานาน ปลดปล่อยคุณให้เป็นอิสระเพื่อที่จะสามารถพุ่งความสนใจไปยังแอปพลิเคชันและธุรกิจของคุณได้อย่างเต็มที่
การสร้าง Security Group สำหรับใช้กับ RDS
ขั้นตอนนี้เป็นการสร้าง Security Group โดยใช้ชื่อว่าtinnakorn-rds-test-db
มาที่เมนูด้านซ้ายหัวข้อ ▼ Network & Security แล้วคลิกSecurity Groups
คลิกCreate security group
เมื่อเข้ามาหน้า Create security group แล้วให้ตั้งค่า Basic details ตามต้องการ ตัวอย่างนี้คือ
» Security group name:tinnakorn-rds-test-db
» Description:tinnakorn-rds-test-db
การตั้งค่า Inbound rules นี้คือ
» Type:MYSQL/Aurora ▼
» ถัดจากช่อง Source ให้ค้นหา Security group ของ Instance ตัวอย่างนี้คือ?︎ tinnakorn-rds-test-ec2
จากนั้นเลือก Security group ที่ตรงกับ Instance ของเรา
เลื่อนลงมาด้านล่างสุด คลิกCreate security group
เมื่อสร้างเสร็จแล้วจะได้หน้าตาแบบนี้
การสร้าง RDS
ขั้นตอนนี้เป็นการสร้าง RDS โดยใช้ชื่อว่าtinnakorn-rds-test-db
จากนั้นเตรียมรหัสที่ต้องการไว้ไม่ต่ำกว่า 8 ตัว เป็นรหัสอะไรก็ได้ ตัวอย่างนี้คือ Password:Aws_2022
เป็นต้น
ค้นหา?︎ RDS
เลือกRDS
คลิกCreate database
เลือกMySQL
การตั้งค่า Settings นี้คือ
» DB instance identifier:tinnakorn-rds-test-db
» Master username:admin
» Master password:Aws_2022
» Confirm password:Aws_2022
การตั้งค่า DB instance class นี้คือ
» DB instance class:Burstable classes (includes t classes)
» เมื่อเลือกแล้วดูที่ช่องสีเขียวจะได้เป็น db.t3.micro
สามารถตรวจสอบราคาของ Amazon RDS ได้ที่ https://aws.amazon.com/th/rds/postgresql/pricing/ โดยเปลี่ยนเป็นรีเจี้ยนใกล้กับประเทศไทยมากที่สุดคือเอเชียแปซิฟิก (สิงคโปร์)
และค้นหา Instance DB ที่เราต้องการเพื่อดูราคา
การตั้งค่า Storage นี้คือ
» Storage type:General Purpose SSD (gp2)
หมายเหตุ : Storage autoscaling นี้คือแนะนำให้เปิดการใช้งานไว้ ไม่ต้อง Uncheckbox ออก เพราะว่า✅ Enable storage autoscaling
จะช่วยปรับขนาดพื้นที่จัดเก็บให้เราเมื่อมีขนาดเกินกำหนดตามที่เราระบุไว้ เช่น ถ้ามี Storage 20 GiB แล้วใช้งานเกินไปที่ 30 GiB ตัว Storage autoscaling ก็จะปรับขนาดพื้นที่จัดเก็บให้เป็น 3i0 GB หรือเพียงพอต่อการใช้งาน โดยจะมี Maximum storage threshold หรือ เกณฑ์การจัดเก็บสูงสุดอยู่ที่ 1000 GiB นั่นเอง แต่ถ้าข้อมูลมีการปรับขนาดให้อัตโนมัติแล้ว ก็จะมีค่าใช้จ่ายตาม Storage แค่ในส่วนที่เกินมา
เลือกDo not create a standby instance
การตั้งค่า Connectivity นี้คือ
» เลื่อนลงมาที่ Existing VPC security groups
» ใส่ชื่อ Security group ที่สร้างไว้เมื่อสักครู่นี้ ลงในช่อง Choose VPC security groups เช่นtinnakorn-rds-test-db
» เลือก Security group ของเรา
คลิก✕
ที่ default ออก
ให้เหลือแค่ Security group ของเรา ตัวอย่างนี้คือtinnakorn-rds-test-db
เลื่อนลงมาด้านล่างสุด คลิกCreate database
การสร้าง RDS เสร็จแล้ว แต่ต้องรอสตาร์ทระบบประมาณ 5 นาที
จากนั้นคลิกเข้าไปที่ชื่อ DB identifier ของเรา ตัวอย่างนี้คือtinnakorn-rds-test-db
เมื่อเข้ามาที่ RDS ก็จะได้หน้าตาแบบนี้
เมื่อ RDS สตาร์ทระบบเสร็จแล้ว ก็จะได้หน้าตาแบบนี้
การ Login เชื่อมต่อไปยัง EC2
กลับมาที่ PuTTy แล้วทำการ Login เพื่อเชื่อมต่อไปยัง EC2 ดังนี้
เรียกใช้คำสั่งนี้เพื่อทำการเปลี่ยนจาก ec2-user เป็น root
sudo su -
เรียกใช้คำสั่งนี้เพื่อ Update server ให้เป็นปัจจุบัน
yum update -y
เรียกใช้คำสั่งนี้เพื่อติดตั้ง MariaDB
yum install -y mariadb
กลับมาที่เว็บไซต์ AWS หน้า RDS แล้วเลือกหัวข้อ Connectivity & security
จากนั้น Copy Endpoint มาบันทึกไว้ที่ Notepad หรือที่ไหนก็ได้
กลับมาที่ PuTTy แล้วเรียกใช้คำสั่งนี้เพื่อเชื่อมต่อเข้าไปยัง MariaDB
# -h (Host) # -u (User) # -p (Password) # tinnakorn-rds-test-db.czh3xc0v8her.ap-southeast-1.rds.amazonaws.com (Endpoint) # admin (User) # Aws_2022 (Password) # ตัวอย่างการใช้คำสั่ง Login MariaDB # -h tinnakorn-rds-test-db.czh3xc0v8her.ap-southeast-1.rds.amazonaws.com # -u admin # -pAws_2022 # ↓ mysql -h tinnakorn-rds-test-db.czh3xc0v8her.ap-southeast-1.rds.amazonaws.com -u admin -pAws_2022
เรียกใช้คำสั่งนี้เพื่อเรียกดู Database
show databases;
ุ
เรียกใช้คำสั่งนี้เพื่อสร้าง Database ตัวอย่างนี้ใช้ชื่อว่าtinnakorn
create database tinnakorn;
เรียกใช้คำสั่งนี้เพื่อเรียกดู Database ก็จะเห็น Database ที่ชื่อว่าtinnakorn
ที่สร้างไปเมื่อสักครู่นี้แสดงขึ้นมา
show databases;
เรียกใช้คำสั่งนี้เพื่อเข้าไปยัง Database ที่เราสร้างไว้เมื่อสักครู่นี้ ตัวอย่างนี้คือtinnakorn
use tinnakorn;
เรียกใช้คำสั่งนี้เพื่อสร้าง Table ตัวอย่างนี้ใช้ชื่อว่าtest
create table test (id int, message varchar(255));
เรียกใช้คำสั่งนี้เพื่อเพิ่มข้อมูลเข้าไปยัง Tabletest
ที่สร้างมาเมื่อสักครู่นี้
insert into test value (1, 'test');
เรียกใช้คำสั่งนี้เพื่อเพิ่มข้อมูลเข้าไปยัง Tabletest
อีกครั้ง
insert into test value (2, 'test2');
เรียกใช้คำสั่งนี้เพื่อเรียกดูข้อมูลจาก Tabletest
จะเห็นว่าข้อมูลที่เพิ่มมา 2 ครั้งเมื่อสักครู่นี้ ได้เข้าไปยัง Tabletest
แล้ว
select * from test;
วิธีการลบ RDS
ก่อนที่เราจะลบ RDS เราต้องตั้งค่า Deletion protection ก่อน จึงจะสามารถลบ RDS ได้ ซึ่งวิธีการทำง่ายๆ เพียงไม่กี่คลิก สามารถทำได้ดังนี้
มาที่หน้า RDS คลิกที่Modify
เลื่อนลงมาด้านล่างสุดมาที่หัวข้อ Deletion protection
Uncheck☐ Enable deletion protection
ออกให้เหมือนกับรูปภาพ
จากนั้นคลิกContinue
เลือกApply immediately
และคลิกModify DB instance
เข้ามาที่ DB identifier ของเรา ตัวอย่างนี้คือtinnakorn-rds-test-db
มาที่Action ▼
เลือกDelete
ทำการ UncheckCreate final snapshot?
และRetain automated backups
ออกให้หมด
จากนั้น Check✅ I acknowledge that upon instance deletion,...
ตามรูปภาพ
ใส่คำว่าdelete me
ตามด้วยคลิกDelete
รอสักครู่จนกว่าจะขึ้น Status:✕ Deleting
เพียงเท่านี้ก็สามารถลบ RDS เสร็จเรียบร้อยแล้ว
สรุป
วิธีการสร้าง RDS และเชื่อมต่อจาก EC2 นั้นสามารถทำได้ง่ายๆ เพียงแค่มี Instance และ Security Group ที่ใช้สำหรับ RDS จากนั้นก็สร้าง RDS ขึ้นมา แล้วก็ Login เข้าไปยัง PuTTy เพื่อเชื่อมต่อ MySQL MariaDB ของ RDS ผ่าน Server Amazon Linux 2 ด้วย Command เพียงเท่านี้ก็สามารถจัดการข้อมูล RDS โดยใช้ Command ได้แล้ว